package basics.jvm;

/**
 * @author or2
 * @Description 使用 javac 与 javap 指令, 观察JVM使用StringBuilder进行优化的现象
 * @create 2021年09月15日 时间: 11:51
 */
public class UseStringBuilder {
    public static void main(String[] args) {
        String[] strs = new String[]{"s1", "s2", "s3"};
        String sum = "";
        for (String str : strs) {
//            反编译, JVM 会自动优化使用 StringBuilder, 但确是在循环内, 每次都会生成一个新的StringBuilder, 极大影响性能
            sum += str;
        }
        System.out.println(sum);
        sum = "";
//        此处隐式使用 StringBuilder
        sum += strs[0] += strs[1];
    }
}
